﻿using ServiceStack.Redis;
using System;
using System.Collections.Generic;

namespace DeskRedis.Model
{
    /// <summary>
    /// 表示Redis的数据值。
    /// </summary>
    public class RedisValue
    {
        /// <summary>
        /// Redis配置Id。
        /// </summary>
        public string ConfigId { get; set; }

        /// <summary>
        /// 数据库索引。
        /// </summary>
        public int DBIndex { get; set; }

        /// <summary>
        /// 键。
        /// </summary>
        public string Key { get; set; }

        /// <summary>
        /// Redis的键类型。
        /// </summary>
        public RedisKeyType Type { get; set; }

        /// <summary>
        /// 生命周期。
        /// </summary>
        public TimeSpan? TTL { get; set; }

        /// <summary>
        /// 表示字符串数据。
        /// </summary>
        public string Value { get; set; }

        /// <summary>
        /// 表示集合数据。
        /// </summary>
        public List<string> List { get; set; }

        /// <summary>
        /// 表示唯一成员集合数据。
        /// </summary>
        public HashSet<string> Set { get; set; }

        /// <summary>
        /// 表示有序集合数据。
        /// </summary>
        public IDictionary<string, double> SortedSet { get; set; }

        /// <summary>
        /// 表示键值对数据。
        /// </summary>
        public Dictionary<string, string> Hash { get; set; }
    }
}
